dotnet6/s3/{{cookiecutter.project_name}}/template.yaml (47 lines of code) (raw):

AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: > Sample SAM Template for {{ cookiecutter.project_name }} Parameters: AppBucketName: Type: String Description: "REQUIRED: Unique S3 bucket name to use for the app." # More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst Globals: Function: Timeout: 10 MemorySize: 128 Resources: S3JsonLoggerFunction: # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction Type: AWS::Serverless::Function Properties: CodeUri: ./src/S3EventSource/ Handler: S3EventSource::S3EventSource.Function::FunctionHandler Runtime: dotnet6 MemorySize: 256 Policies: S3ReadPolicy: BucketName: !Ref AppBucketName Events: S3NewObjectEvent: Type: S3 Properties: Bucket: !Ref AppBucket Events: s3:ObjectCreated:* Filter: S3Key: Rules: - Name: suffix Value: ".json" AppBucket: Type: AWS::S3::Bucket Properties: BucketName: !Ref AppBucketName BucketEncryption: ServerSideEncryptionConfiguration: - BucketKeyEnabled: true VersioningConfiguration: Status: Enabled Outputs: AppBucketArn: Description: "S3 Bucket" Value: !Ref AppBucket